Image Oscillation III 〰会話するオシロスコープ、作曲する〰
https://gyazo.com/b4a7cfefb3f7c119d236d0765acf6b70
制作の進捗等をこちらで書いていきます
〰概要
アナログオシロくん(オシロスコープ)と会話しながら、その会話をもとにその回答(計測された感情値)に応じてアナログオシロくんが楽曲を構成してくれます。
構成された楽曲はその場でリアルタイムで聞くことができ、そのデータはMIDIあるいはWAV(デジタルデータ)、および「歌詞カード」として波形データが印刷され、それぞれが持ち帰ることができる作品になります。
〰ワークフロー
対話ゲーム → 感情値を読み取る → 音楽構成 → MIDI出力 → MIDI演奏再生 → 演奏時の波形データ (2Ch)の一連を保存 → 印刷
https://gyazo.com/db2b15e7e930c0302108d9c7de76b68e
〰ソフトウェア要件
対話ゲーム
Webアプリケーションで実装
フレームワーク:Vue.js (?)
言語: JavaScript (あるいはTypeScript)
対話システム自体はテキストAI(GPT4 / Claude3)のAPIを利用
実態はHTTPサーバーと通信しているため、Webアプリケーションで使用可能
VoiceVoxの音声をOsciStudioのMic Inに飛ばして音声を合成させる or 別の方法でミキシングする(要検討・課題) 感情値を読み取る
シンプルに「喜」「怒」「哀」「楽」の4パラメータ?
JIWCの区分に基づいて「悲しい」「不安」「怒り」「嫌悪感」「信頼感」「驚き」「楽しい」の7パラメータ? 音楽構成
各感情値に応じて一つの曲(あるいは数曲)をアレンジして構成する
例えば「楽」パラメータが高ければメジャーコードの割合が高い「明るい」アレンジになる
「悲」パラメータが高ければマイナーコードやテンポが遅い「暗い」アレンジになる
音楽構成のパラメータ例
メジャーコード / マイナーコードの使用割合
テンポ(BPM)
ソフトウェア音源の音色の違い
スケールの違い
拍子の違い
基本メロディは固定
アレンジ曲候補
MIDI出力
実装についてはWeb Audio APIを利用する
MIDI演奏再生
〰ハードウェア要件
演奏時の波形データ (2Ch)の一連を保存 + 印刷
横河計測のDL1500シリーズ(DL1520 / DL1540)など
電磁オシログラフ → ペンの代わりに光を反射させる鏡を使って感光紙に記録する
https://gyazo.com/9de3af992cb621a0d71a550fdba7a25a
リアルタイム記録したい場合は、コンピュータからどういうようにデータを転送すればいいのだろうか
アナログオシロの機種によっては通信インターフェースがあるものがある
GPIBなど
私のTektronix 2225には無かった…
あくまでアナログオシロは表示機器として割り切って、コンピュータから信号を送ってやるか?
その際の信号はどういう形式で送ればいいのだろうか?
波形データを保存する形式の一般的な規格はEDF?
EDFの場合はJavascriptでEDFを扱えるようにするものがいくつかありそう?
アナログオシロくんの装飾的デザイン(改造)
https://media.discordapp.net/attachments/1210247652717887548/1221466463139922150/S9ca9a1bcc9bb46d98bd21c07329eca63s.jpg_640x640Q90.jpg_.webp?ex=6642244a&is=6640d2ca&hm=b712044d41c178d5595cdf4d48200972241d7f7ea66d4036ac4203c254aeaf3f&=&format=webp&width=564&height=564https://media.discordapp.net/attachments/1210247652717887548/1221466470614040746/S6bd96cbfedaa4032aa38ee92b2bc9585v.jpg_640x640Q90.jpg_.webp?ex=6642244c&is=6640d2cc&hm=547a453d9edec41a55fee17507aa0e9e55ebda6976b82f952e055fefe3e96235&=&format=webp&width=564&height=564
この商品自体は実用的なものというよりインテリアに近いものであるが、
既存のアナログオシロくんをスケルトンにしてかわいくする(改造)
コントローラ
対話ゲームで用いられるシンプルなコントローラ
いまのところ4つの選択肢(なぜ4つか?単に慣習である。制作の段階で変わる可能性あり)を選べるかわいいボタンコントローラを作りたい
イメージは「お父さんスイッチ」
https://gyazo.com/235a982ac211d965a83180cd265d818f
https://media.discordapp.net/attachments/1006230434163732662/1239268587152084992/DSC_2130.jpg?ex=66424e4f&is=6640fccf&hm=6e07bbadb6675ace2f9440a5b079edc624eebd5c2979b911db976b5ce010e51a&=&format=webp&width=894&height=503
ーーーー
変更案)
もうちょっとMakerFaireらしく直感的な遊び道具にしようか
「会話」とか「作曲」とか、複雑すぎるかもしれない
MIDI演奏される楽曲("DaisyBell")を
コントローラーで変位できるようにする
(オーディオエフェクターのように)
音をあげたり、歪ませたり、パンしたり、などなど
アナログオシロスコープの絵(アナログオシロくん)
と
ペンプロッターの出力が
リアルタイムに変位を受ける
音も変わる
音が映像であるということの、プリミティブな喜びをシンプルに現したい
音をいじることと映像をいじることの両立可能性
音はスピーカー or ヘッドフォン
(会場ならスピーカーがいいのかなと思いつつ、無理そうだったらヘッドフォンで)
映像(XYモード)はアナログオシロスコープ
各チャンネルの波形はペンプロッター
7inchディスプレイはUI表示
ペンプロッターは、
ある種のあしらいとして
楽譜の五線譜的なところに波形が乗ってくる感じ
(できればwavデータダウンロード可能にする)